package com.wanmait.teatrain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 离线缓存表
 * </p>
 *
 * @author wanmait
 * @since 2025-10-22
 */
@Data
@Accessors(chain = true)
@TableName("offline_cache")
public class OfflineCache {

    /**
     * 缓存记录唯一 ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 关联 user 表的 id（缓存用户）
     */
    private Integer adminId;

    /**
     * 关联 training_resource 表的 id（缓存资源）
     */
    private Integer resourceId;

    /**
     * 缓存时间（用户下载到本地的时间）
     */
    private Date createTime;

    /**
     * 缓存过期时间（默认 7 天，过期后不可用）
     */
    private Date expireTime;

    /**
     * 缓存设备信息（仅该设备可使用）
     */
    private String deviceInfo;

    /**
     * 缓存状态（1 = 有效，2 = 已过期，3 = 已删除）
     */
    private Boolean cacheStatus;

    /**
     * 数据有效性（1 = 有效，0 = 无效）
     */
    private Boolean enable;
}
